package acs.cat.message.internal;

import java.util.List;

import acs.cat.message.Message;
import acs.cat.message.Transaction;
import acs.cat.message.spi.MessageManager;

public class DefaultTransaction extends AbstractMessage implements Transaction {
	private long m_durationInMicro = -1; // must be less than 0

	private List<Message> m_children;

	private MessageManager m_manager;

	private boolean m_standalone;

	private long m_durationStart;

	public DefaultTransaction(String type, String name, MessageManager manager) {

		m_manager = manager;
		m_standalone = true;
		m_durationStart = System.nanoTime();
	}
	@Override
	public void addData(String keyValuePairs) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void complete() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public Transaction addChild(Message message) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<Message> getChildren() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public long getDurationInMicros() {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public long getDurationInMillis() {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public boolean hasChildren() {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean isStandalone() {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public Transaction newTransaction(String type, String name) {
		// TODO Auto-generated method stub
		return null;
	}
	
}
